package com.ztgf.order.mapper.purchase;

import com.baomidou.mybatisplus.mapper.BaseMapper;
import com.baomidou.mybatisplus.plugins.Page;
import com.ztgf.order.models.bo.purchase.PurchaseInfoAdminBO;
import com.ztgf.order.models.bo.purchase.PurchaseInfoBuyBO;
import com.ztgf.order.models.bo.purchase.PurchaseInfoOwnBO;
import com.ztgf.order.models.bo.purchase.PurchaseInfoSellBO;
import com.ztgf.order.models.dto.purchase.PurchaseCommodityBargainDTO;
import com.ztgf.order.models.vo.purchase.PurchaseCommodityBargainVO;
import com.ztgf.order.models.vo.purchase.PurchaseInfoExportVO;
import com.ztgf.shopping.models.dto.shop.ShopSysInvoiceDTO;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 店铺报价表映射
 *
 * @author mxli
 * @Date 2021-05-17 10:16:52
 */
public interface PurchaseCommodityBargainMapper extends BaseMapper<PurchaseCommodityBargainDTO> {

    List<PurchaseCommodityBargainVO> queryBuyList(@Param("purchaseCommodityId") Long purchaseCommodityId);
    List<PurchaseCommodityBargainVO> querySellList(@Param("purchaseCommodityId") Long purchaseCommodityId,@Param("shopId") Long shopId);
    List<PurchaseCommodityBargainVO> queryPlatBargainList(@Param("purchaseCommodityId") Long purchaseCommodityId);
    List<PurchaseCommodityBargainVO> queryAdminList(@Param("purchaseCommodityId") Long purchaseCommodityId);
    List<PurchaseCommodityBargainVO> queryOwnList(@Param("purchaseCommodityId") Long purchaseCommodityId);
    List<PurchaseCommodityBargainVO> queryList(String ids);
    PurchaseCommodityBargainVO get(Long id);

    /**
     * 导出买家报价单列表
     * @param bo
     * @return
     */
    List<PurchaseInfoExportVO> queryExportBuyList(Page<PurchaseInfoExportVO> page, PurchaseInfoBuyBO bo);

    /**
     * 导出卖家报价单列表
     * @param bo
     * @return
     */
    List<PurchaseInfoExportVO> queryExportSellList(Page<PurchaseInfoExportVO> page, PurchaseInfoSellBO bo);

    /**
     * 导出平台发布报价单列表
     * @param bo
     * @return
     */
    List<PurchaseInfoExportVO> queryExportOwnList(Page<PurchaseInfoExportVO> page, PurchaseInfoOwnBO bo);

    /**
     * 导出admin报价单列表
     * @param bo
     * @return
     */
    List<PurchaseInfoExportVO> queryExportAdminList(Page<PurchaseInfoExportVO> page, PurchaseInfoAdminBO bo);

    List<ShopSysInvoiceDTO> synchronizationShopSysInvoice(); //同步固定申请平台砍价固定费率29.8
}
